home *** CD-ROM | disk | FTP | other *** search
/ 130 MIDI Tool Box / 130 MIDI Tool Box.iso / midiex18 / midiex.h < prev    next >
C/C++ Source or Header  |  1989-12-07  |  4KB  |  110 lines

  1. /*-------------------------[ Various defines ]--------------------------------*/
  2.  
  3. #if defined(__TURBOC__)                     /* Turbo C */
  4.     #if __STDC__
  5.         #define _Cdecl
  6.     #else
  7.         #define _Cdecl  cdecl
  8.     #endif
  9.     #define _Near
  10. #elif defined(M_I86)                        /* Microsoft C/QuickC */
  11.     #if !defined(NO_EXT_KEYS)
  12.         #define _Cdecl  cdecl
  13.         #define _Near   near
  14.     #else
  15.         #define _Cdecl
  16.         #define _Near
  17.     #endif
  18. #endif
  19.  
  20. #define UART     0x3F
  21. #define RESET   0xFF
  22. #define ESC      0x1B
  23. #define BRK        0x03
  24.  
  25. /*------------------------[ definition of NULL ]-----------------------------*/
  26.  
  27. #if !defined(NULL)
  28.     #if defined(__TURBOC__)                     /* Turbo C */
  29.         #if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__)
  30.             #define NULL    0
  31.         #else
  32.             #define NULL    0L
  33.         #endif
  34.     #elif defined(M_I86)                        /* Microsoft C/QuickC */
  35.         #if defined(M_I86SM) || defined(M_I86MM)
  36.             #define NULL    0
  37.         #else
  38.             #define NULL    0L
  39.         #endif
  40.     #endif
  41. #endif
  42.  
  43. /*--------------------------[ File redefinitions ]----------------------------*/
  44.  
  45. #if defined(M_I86)                      /* Microsoft C/QuickC */
  46.     #define findfirst(a,b,c)  _dos_findfirst(a,c,b)
  47.     #define findnext(a)       _dos_findnext(a)
  48.     #define ffblk             find_t
  49.     #define ff_name           name
  50.     #define ff_attrib         attrib
  51.     #define FA_DIREC          _A_SUBDIR
  52.     static  int               tnumdrives;
  53. #endif
  54.  
  55. /*------------------------[ Function Redefinitions ]--------------------------*/
  56.  
  57. #if defined(__TURBOC__)
  58.     #define clrscr()    clrscr();
  59. #elif defined(M_I86)                        /* Microsoft C/QuickC */
  60.     #define clrscr()    _clearscreen();
  61. #endif
  62.  
  63.  
  64.  
  65. /*------------------------[ Boolean logic conditions ]------------------------*/
  66.  
  67. #define NO      0
  68. #define YES     1
  69. #define FALSE   0
  70. #define TRUE    1
  71. #define OFF     0
  72. #define ON      1
  73. #define SUCCESS 1
  74. #define FAIL    0
  75. #define FAILURE 0
  76.  
  77.  
  78.  
  79. /*---------------------[ External Function prototypes ]-----------------------*/
  80.  
  81. int     _Cdecl  mpu_reset(void);            /* Resets the MPU                 */
  82. void    _Cdecl  no_op(void);                /* A NULL routine                 */
  83. void    _Cdecl  receive_sysex(void);        /* Receives data from the ISR     */
  84. void    _Cdecl  reset_ctrl_brk(void);       /* Set Ctrl-Brk vector            */
  85. void    _Cdecl  reset_mpu_vector(void);     /* Resets back to the old vector  */
  86. int     _Cdecl  second_8259(void);          /* Detects a second 8259          */
  87. int     _Cdecl  send_command(int command);  /* Sends a command to the MPU     */
  88. int     _Cdecl  send_data(int databyte);    /* Sends a data byte to the MPU   */
  89. void    _Cdecl  set_ctrl_brk(void);         /* Set Ctrl-Brk vector            */
  90. void    _Cdecl  set_handler(void (*address)(void)); /* Sets the data handler  */
  91.                                                     /* routine                */
  92. void    _Cdecl  set_mpu_vector(void);       /* Sets the MPU's ISR vector      */
  93.  
  94.  
  95.  
  96. /*----------------------------[ External Data ]-------------------------------*/
  97.  
  98. extern  int             mpu_data_port;      /* Mpu data port address          */
  99. extern  int             mpu_command_port;   /* Mpu command port address       */
  100. extern  int             mpu_status_port;    /* Mpu status port address        */
  101. extern  char            mpu_irq;            /* Mpu interrupt level            */
  102. extern  unsigned char   irq_mask;           /* 8259 mask for IRQ 2            */
  103. extern  unsigned int    eoi;                /* End Of Interrupt mask          */
  104. extern  int             data_in_handler;    /* Pointer to data handler        */
  105. extern  char            *buffer_ptr;
  106. extern  int             buffer_end;
  107. extern  char            sysex_started;      /* Sysex receive flags            */
  108. extern  char            sysex_ended;        /* "                              */
  109.  
  110.